###异步IO (asynchronous) 阻塞IO: IO时CPU会等待 非阻塞IO: 通过轮训机制,查看数据读取是否完成。如果未完成,CPU正常进行其他事务,如果已完成,CPU继续执行刚才没有完成的动作 Node 在表现层使用JS,所以是单线程;但是在底层使用C,所以本质上还是多线程 ![](./_image/2016-05-27 18-45-58.jpg) 如图,task进入线程池进行处理,当监听到回调函数时,执行命令 JS回调函数:

fuunction randNum( argu1, argu2, callback {
    var number = Math.ceil(Math.random() * (argu1 - argu2) + argu2); //返回argu1 至 argu2 之间的随机数
    callback(number) //传递参数num给任意callback
 }
randNum(10, 20, function(number){
    console.log("10到20之间的随机数是: " + number);
})
console.log("这是后触发的一个函数") //虽然后触发,但当randNum非常复杂耗时间时,该句优先输出,异步方法